#include "thread.h"


Thread::Thread()
{

}

Thread::~Thread()
{

}

void Thread::start()
{
   //创建一条子线程
    pthread_create(&th,NULL,routine,this);
}

void Thread::stop()
{
    exit = true;
    //pthread_cancel(th);
}


void*routine(void*arg)
{
    //在这里执行 线程类的 run函数  th是基类指针  arg是传递进来的子类对象地址
    Thread*th = (Thread*)arg;
    //通过基类指针 调用虚函数 调用的是子类的虚函数
    th->run();
    return 0;
}
